/*
 * Copyright (c) 2015 by Evernote Corporation, All rights reserved.
 *
 * Use of the source code and binary libraries included in this package
 * is permitted under the following terms:
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/**
 * Autogenerated by Thrift Compiler (0.9.2)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */

#import <Foundation/Foundation.h>

#import "ENTProtocol.h"
#import "ENTException.h"
#import "FATObject.h"
#import "EDAMLimits.h"

enum EDAMPrivilegeLevel {
  PrivilegeLevel_NORMAL = 1,
  PrivilegeLevel_PREMIUM = 3,
  PrivilegeLevel_VIP = 5,
  PrivilegeLevel_MANAGER = 7,
  PrivilegeLevel_SUPPORT = 8,
  PrivilegeLevel_ADMIN = 9
};

enum EDAMQueryFormat {
  QueryFormat_USER = 1,
  QueryFormat_SEXP = 2
};

enum EDAMNoteSortOrder {
  NoteSortOrder_CREATED = 1,
  NoteSortOrder_UPDATED = 2,
  NoteSortOrder_RELEVANCE = 3,
  NoteSortOrder_UPDATE_SEQUENCE_NUMBER = 4,
  NoteSortOrder_TITLE = 5
};

enum EDAMPremiumOrderStatus {
  PremiumOrderStatus_NONE = 0,
  PremiumOrderStatus_PENDING = 1,
  PremiumOrderStatus_ACTIVE = 2,
  PremiumOrderStatus_FAILED = 3,
  PremiumOrderStatus_CANCELLATION_PENDING = 4,
  PremiumOrderStatus_CANCELED = 5
};

enum EDAMSharedNotebookPrivilegeLevel {
  SharedNotebookPrivilegeLevel_READ_NOTEBOOK = 0,
  SharedNotebookPrivilegeLevel_MODIFY_NOTEBOOK_PLUS_ACTIVITY = 1,
  SharedNotebookPrivilegeLevel_READ_NOTEBOOK_PLUS_ACTIVITY = 2,
  SharedNotebookPrivilegeLevel_GROUP = 3,
  SharedNotebookPrivilegeLevel_FULL_ACCESS = 4,
  SharedNotebookPrivilegeLevel_BUSINESS_FULL_ACCESS = 5
};

enum EDAMSharedNotePrivilegeLevel {
  SharedNotePrivilegeLevel_READ_NOTE = 0,
  SharedNotePrivilegeLevel_MODIFY_NOTE = 1,
  SharedNotePrivilegeLevel_FULL_ACCESS = 2
};

enum EDAMSponsoredGroupRole {
  SponsoredGroupRole_GROUP_MEMBER = 1,
  SponsoredGroupRole_GROUP_ADMIN = 2,
  SponsoredGroupRole_GROUP_OWNER = 3
};

enum EDAMBusinessUserRole {
  BusinessUserRole_ADMIN = 1,
  BusinessUserRole_NORMAL = 2
};

enum EDAMSharedNotebookInstanceRestrictions {
  SharedNotebookInstanceRestrictions_ONLY_JOINED_OR_PREVIEW = 1,
  SharedNotebookInstanceRestrictions_NO_SHARED_NOTEBOOKS = 2
};

enum EDAMReminderEmailConfig {
  ReminderEmailConfig_DO_NOT_SEND = 1,
  ReminderEmailConfig_SEND_DAILY_EMAIL = 2
};

enum EDAMBusinessInvitationStatus {
  BusinessInvitationStatus_APPROVED = 0,
  BusinessInvitationStatus_REQUESTED = 1,
  BusinessInvitationStatus_REDEEMED = 2
};

enum EDAMContactType {
  ContactType_EVERNOTE = 1,
  ContactType_SMS = 2,
  ContactType_FACEBOOK = 3,
  ContactType_EMAIL = 4,
  ContactType_TWITTER = 5,
  ContactType_LINKEDIN = 6
};

enum EDAMRelatedContentType {
  RelatedContentType_NEWS_ARTICLE = 1,
  RelatedContentType_PROFILE_PERSON = 2,
  RelatedContentType_PROFILE_ORGANIZATION = 3
};

enum EDAMRelatedContentAccess {
  RelatedContentAccess_NOT_ACCESSIBLE = 0,
  RelatedContentAccess_DIRECT_LINK_ACCESS_OK = 1,
  RelatedContentAccess_DIRECT_LINK_LOGIN_REQUIRED = 2,
  RelatedContentAccess_DIRECT_LINK_EMBEDDED_VIEW = 3
};

enum EDAMUserIdentityType {
  UserIdentityType_EVERNOTE_USERID = 1,
  UserIdentityType_EMAIL = 2,
  UserIdentityType_IDENTITYID = 3
};

typedef int64_t EDAMIdentityID;

typedef int32_t EDAMUserID;

typedef NSString * EDAMGuid;

typedef int64_t EDAMTimestamp;

typedef int64_t EDAMMessageEventID;

typedef int64_t EDAMMessageThreadID;

@interface EDAMData : FATObject 
@property (nonatomic, strong) NSData * bodyHash;
@property (nonatomic, strong) NSNumber * size; // int32_t
@property (nonatomic, strong) NSData * body;
@end

@interface EDAMUserAttributes : FATObject 
@property (nonatomic, strong) NSString * defaultLocationName;
@property (nonatomic, strong) NSNumber * defaultLatitude; // double
@property (nonatomic, strong) NSNumber * defaultLongitude; // double
@property (nonatomic, strong) NSNumber * preactivation; // BOOL
@property (nonatomic, strong) NSArray * viewedPromotions;
@property (nonatomic, strong) NSString * incomingEmailAddress;
@property (nonatomic, strong) NSArray * recentMailedAddresses;
@property (nonatomic, strong) NSString * comments;
@property (nonatomic, strong) NSNumber * dateAgreedToTermsOfService; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * maxReferrals; // int32_t
@property (nonatomic, strong) NSNumber * referralCount; // int32_t
@property (nonatomic, strong) NSString * refererCode;
@property (nonatomic, strong) NSNumber * sentEmailDate; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * sentEmailCount; // int32_t
@property (nonatomic, strong) NSNumber * dailyEmailLimit; // int32_t
@property (nonatomic, strong) NSNumber * emailOptOutDate; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * partnerEmailOptInDate; // EDAMTimestamp
@property (nonatomic, strong) NSString * preferredLanguage;
@property (nonatomic, strong) NSString * preferredCountry;
@property (nonatomic, strong) NSNumber * clipFullPage; // BOOL
@property (nonatomic, strong) NSString * twitterUserName;
@property (nonatomic, strong) NSString * twitterId;
@property (nonatomic, strong) NSString * groupName;
@property (nonatomic, strong) NSString * recognitionLanguage;
@property (nonatomic, strong) NSString * referralProof;
@property (nonatomic, strong) NSNumber * educationalDiscount; // BOOL
@property (nonatomic, strong) NSString * businessAddress;
@property (nonatomic, strong) NSNumber * hideSponsorBilling; // BOOL
@property (nonatomic, strong) NSNumber * taxExempt; // BOOL
@property (nonatomic, strong) NSNumber * useEmailAutoFiling; // BOOL
@property (nonatomic, strong) NSNumber * reminderEmailConfig; // int
@property (nonatomic, strong) NSNumber * emailAddressLastConfirmed; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * passwordUpdated; // EDAMTimestamp
@end

@interface EDAMBusinessUserAttributes : FATObject 
@property (nonatomic, strong) NSString * title;
@property (nonatomic, strong) NSString * location;
@property (nonatomic, strong) NSString * department;
@property (nonatomic, strong) NSString * mobilePhone;
@property (nonatomic, strong) NSString * linkedInProfileUrl;
@property (nonatomic, strong) NSString * workPhone;
@property (nonatomic, strong) NSNumber * companyStartDate; // EDAMTimestamp
@end

@interface EDAMAccounting : FATObject 
@property (nonatomic, strong) NSNumber * uploadLimit; // int64_t
@property (nonatomic, strong) NSNumber * uploadLimitEnd; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * uploadLimitNextMonth; // int64_t
@property (nonatomic, strong) NSNumber * premiumServiceStatus; // int
@property (nonatomic, strong) NSString * premiumOrderNumber;
@property (nonatomic, strong) NSString * premiumCommerceService;
@property (nonatomic, strong) NSNumber * premiumServiceStart; // EDAMTimestamp
@property (nonatomic, strong) NSString * premiumServiceSKU;
@property (nonatomic, strong) NSNumber * lastSuccessfulCharge; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * lastFailedCharge; // EDAMTimestamp
@property (nonatomic, strong) NSString * lastFailedChargeReason;
@property (nonatomic, strong) NSNumber * nextPaymentDue; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * premiumLockUntil; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * updated; // EDAMTimestamp
@property (nonatomic, strong) NSString * premiumSubscriptionNumber;
@property (nonatomic, strong) NSNumber * lastRequestedCharge; // EDAMTimestamp
@property (nonatomic, strong) NSString * currency;
@property (nonatomic, strong) NSNumber * unitPrice; // int32_t
@property (nonatomic, strong) NSNumber * businessId; // int32_t
@property (nonatomic, strong) NSString * businessName;
@property (nonatomic, strong) NSNumber * businessRole; // int
@property (nonatomic, strong) NSNumber * unitDiscount; // int32_t
@property (nonatomic, strong) NSNumber * nextChargeDate; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * availablePoints; // int32_t
@end

@interface EDAMBusinessUserInfo : FATObject 
@property (nonatomic, strong) NSNumber * businessId; // int32_t
@property (nonatomic, strong) NSString * businessName;
@property (nonatomic, strong) NSNumber * role; // int
@property (nonatomic, strong) NSString * email;
@property (nonatomic, strong) NSNumber * updated; // EDAMTimestamp
@end

@interface EDAMPremiumInfo : FATObject 
@property (nonatomic, strong) NSNumber * currentTime; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * premium; // BOOL
@property (nonatomic, strong) NSNumber * premiumRecurring; // BOOL
@property (nonatomic, strong) NSNumber * premiumExpirationDate; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * premiumExtendable; // BOOL
@property (nonatomic, strong) NSNumber * premiumPending; // BOOL
@property (nonatomic, strong) NSNumber * premiumCancellationPending; // BOOL
@property (nonatomic, strong) NSNumber * canPurchaseUploadAllowance; // BOOL
@property (nonatomic, strong) NSString * sponsoredGroupName;
@property (nonatomic, strong) NSNumber * sponsoredGroupRole; // int
@property (nonatomic, strong) NSNumber * premiumUpgradable; // BOOL
@end

@interface EDAMUser : FATObject 
@property (nonatomic, strong) NSNumber * id; // EDAMUserID
@property (nonatomic, strong) NSString * username;
@property (nonatomic, strong) NSString * email;
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) NSString * timezone;
@property (nonatomic, strong) NSNumber * privilege; // int
@property (nonatomic, strong) NSNumber * created; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * updated; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * deleted; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * active; // BOOL
@property (nonatomic, strong) NSString * shardId;
@property (nonatomic, strong) EDAMUserAttributes * attributes;
@property (nonatomic, strong) EDAMAccounting * accounting;
@property (nonatomic, strong) EDAMPremiumInfo * premiumInfo;
@property (nonatomic, strong) EDAMBusinessUserInfo * businessUserInfo;
@property (nonatomic, strong) NSString * photoUrl;
@property (nonatomic, strong) NSNumber * photoLastUpdated; // EDAMTimestamp
@end

@interface EDAMContact : FATObject 
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) NSString * id;
@property (nonatomic, strong) NSNumber * type; // int
@property (nonatomic, strong) NSString * photoUrl;
@property (nonatomic, strong) NSNumber * photoLastUpdated; // EDAMTimestamp
@property (nonatomic, strong) NSData * messagingPermit;
@property (nonatomic, strong) NSNumber * messagingPermitExpires; // EDAMTimestamp
@end

@interface EDAMIdentity : FATObject 
@property (nonatomic, strong) NSNumber * id; // EDAMIdentityID
@property (nonatomic, strong) EDAMContact * contact;
@property (nonatomic, strong) NSNumber * userId; // EDAMUserID
@property (nonatomic, strong) NSNumber * deactivated; // BOOL
@property (nonatomic, strong) NSNumber * sameBusiness; // BOOL
@property (nonatomic, strong) NSNumber * blocked; // BOOL
@property (nonatomic, strong) NSNumber * userConnected; // BOOL
@end

@interface EDAMTag : FATObject 
@property (nonatomic, strong) EDAMGuid guid;
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) EDAMGuid parentGuid;
@property (nonatomic, strong) NSNumber * updateSequenceNum; // int32_t
@end

@interface EDAMLazyMap : FATObject 
@property (nonatomic, strong) NSSet * keysOnly;
@property (nonatomic, strong) NSDictionary * fullMap;
@end

@interface EDAMResourceAttributes : FATObject 
@property (nonatomic, strong) NSString * sourceURL;
@property (nonatomic, strong) NSNumber * timestamp; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * latitude; // double
@property (nonatomic, strong) NSNumber * longitude; // double
@property (nonatomic, strong) NSNumber * altitude; // double
@property (nonatomic, strong) NSString * cameraMake;
@property (nonatomic, strong) NSString * cameraModel;
@property (nonatomic, strong) NSNumber * clientWillIndex; // BOOL
@property (nonatomic, strong) NSString * recoType;
@property (nonatomic, strong) NSString * fileName;
@property (nonatomic, strong) NSNumber * attachment; // BOOL
@property (nonatomic, strong) EDAMLazyMap * applicationData;
@end

@interface EDAMResource : FATObject 
@property (nonatomic, strong) EDAMGuid guid;
@property (nonatomic, strong) EDAMGuid noteGuid;
@property (nonatomic, strong) EDAMData * data;
@property (nonatomic, strong) NSString * mime;
@property (nonatomic, strong) NSNumber * width; // int16_t
@property (nonatomic, strong) NSNumber * height; // int16_t
@property (nonatomic, strong) NSNumber * duration; // int16_t
@property (nonatomic, strong) NSNumber * active; // BOOL
@property (nonatomic, strong) EDAMData * recognition;
@property (nonatomic, strong) EDAMResourceAttributes * attributes;
@property (nonatomic, strong) NSNumber * updateSequenceNum; // int32_t
@property (nonatomic, strong) EDAMData * alternateData;
@end

@interface EDAMNoteAttributes : FATObject 
@property (nonatomic, strong) NSNumber * subjectDate; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * latitude; // double
@property (nonatomic, strong) NSNumber * longitude; // double
@property (nonatomic, strong) NSNumber * altitude; // double
@property (nonatomic, strong) NSString * author;
@property (nonatomic, strong) NSString * source;
@property (nonatomic, strong) NSString * sourceURL;
@property (nonatomic, strong) NSString * sourceApplication;
@property (nonatomic, strong) NSNumber * shareDate; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * reminderOrder; // int64_t
@property (nonatomic, strong) NSNumber * reminderDoneTime; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * reminderTime; // EDAMTimestamp
@property (nonatomic, strong) NSString * placeName;
@property (nonatomic, strong) NSString * contentClass;
@property (nonatomic, strong) EDAMLazyMap * applicationData;
@property (nonatomic, strong) NSString * lastEditedBy;
@property (nonatomic, strong) NSDictionary * classifications;
@property (nonatomic, strong) NSNumber * creatorId; // EDAMUserID
@property (nonatomic, strong) NSNumber * lastEditorId; // EDAMUserID
@property (nonatomic, strong) NSNumber * sharedWithBusiness; // BOOL
@property (nonatomic, strong) EDAMGuid conflictSourceNoteGuid;
@property (nonatomic, strong) NSNumber * noteTitleQuality; // int32_t
@end

@interface EDAMSharedNote : FATObject 
@property (nonatomic, strong) NSNumber * sharerUserID; // EDAMUserID
@property (nonatomic, strong) EDAMIdentity * recipientIdentity;
@property (nonatomic, strong) NSNumber * privilege; // int
@property (nonatomic, strong) NSNumber * serviceCreated; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * serviceUpdated; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * serviceAssigned; // EDAMTimestamp
@end

@interface EDAMNoteRestrictions : FATObject 
@property (nonatomic, strong) NSNumber * noUpdateTitle; // BOOL
@property (nonatomic, strong) NSNumber * noUpdateContent; // BOOL
@property (nonatomic, strong) NSNumber * noEmail; // BOOL
@property (nonatomic, strong) NSNumber * noShare; // BOOL
@property (nonatomic, strong) NSNumber * noSharePublicly; // BOOL
@end

@interface EDAMNote : FATObject 
@property (nonatomic, strong) EDAMGuid guid;
@property (nonatomic, strong) NSString * title;
@property (nonatomic, strong) NSString * content;
@property (nonatomic, strong) NSData * contentHash;
@property (nonatomic, strong) NSNumber * contentLength; // int32_t
@property (nonatomic, strong) NSNumber * created; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * updated; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * deleted; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * active; // BOOL
@property (nonatomic, strong) NSNumber * updateSequenceNum; // int32_t
@property (nonatomic, strong) NSString * notebookGuid;
@property (nonatomic, strong) NSArray * tagGuids;
@property (nonatomic, strong) NSArray * resources;
@property (nonatomic, strong) EDAMNoteAttributes * attributes;
@property (nonatomic, strong) NSArray * tagNames;
@property (nonatomic, strong) NSArray * sharedNotes;
@property (nonatomic, strong) EDAMNoteRestrictions * restrictions;
@end

@interface EDAMPublishing : FATObject 
@property (nonatomic, strong) NSString * uri;
@property (nonatomic, strong) NSNumber * order; // int
@property (nonatomic, strong) NSNumber * ascending; // BOOL
@property (nonatomic, strong) NSString * publicDescription;
@end

@interface EDAMBusinessNotebook : FATObject 
@property (nonatomic, strong) NSString * notebookDescription;
@property (nonatomic, strong) NSNumber * privilege; // int
@property (nonatomic, strong) NSNumber * recommended; // BOOL
@end

@interface EDAMSavedSearchScope : FATObject 
@property (nonatomic, strong) NSNumber * includeAccount; // BOOL
@property (nonatomic, strong) NSNumber * includePersonalLinkedNotebooks; // BOOL
@property (nonatomic, strong) NSNumber * includeBusinessLinkedNotebooks; // BOOL
@end

@interface EDAMSavedSearch : FATObject 
@property (nonatomic, strong) EDAMGuid guid;
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) NSString * query;
@property (nonatomic, strong) NSNumber * format; // int
@property (nonatomic, strong) NSNumber * updateSequenceNum; // int32_t
@property (nonatomic, strong) EDAMSavedSearchScope * scope;
@end

@interface EDAMAd : FATObject 
@property (nonatomic, strong) NSNumber * id; // int32_t
@property (nonatomic, strong) NSNumber * width; // int16_t
@property (nonatomic, strong) NSNumber * height; // int16_t
@property (nonatomic, strong) NSString * advertiserName;
@property (nonatomic, strong) NSString * imageUrl;
@property (nonatomic, strong) NSString * destinationUrl;
@property (nonatomic, strong) NSNumber * displaySeconds; // int16_t
@property (nonatomic, strong) NSNumber * score; // double
@property (nonatomic, strong) NSData * image;
@property (nonatomic, strong) NSString * imageMime;
@property (nonatomic, strong) NSString * html;
@property (nonatomic, strong) NSNumber * displayFrequency; // double
@property (nonatomic, strong) NSNumber * openInTrunk; // BOOL
@end

@interface EDAMSharedNotebookRecipientSettings : FATObject 
@property (nonatomic, strong) NSNumber * reminderNotifyEmail; // BOOL
@property (nonatomic, strong) NSNumber * reminderNotifyInApp; // BOOL
@end

@interface EDAMNotebookRecipientSettings : FATObject 
@property (nonatomic, strong) NSNumber * reminderNotifyEmail; // BOOL
@property (nonatomic, strong) NSNumber * reminderNotifyInApp; // BOOL
@property (nonatomic, strong) NSNumber * inMyList; // BOOL
@end

@interface EDAMSharedNotebook : FATObject 
@property (nonatomic, strong) NSNumber * id; // int64_t
@property (nonatomic, strong) NSNumber * userId; // EDAMUserID
@property (nonatomic, strong) EDAMGuid notebookGuid;
@property (nonatomic, strong) NSString * email;
@property (nonatomic, strong) NSNumber * recipientIdentityId; // EDAMIdentityID
@property (nonatomic, strong) NSNumber * notebookModifiable; // BOOL
@property (nonatomic, strong) NSNumber * requireLogin; // BOOL
@property (nonatomic, strong) NSNumber * serviceCreated; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * serviceUpdated; // EDAMTimestamp
@property (nonatomic, strong) NSString * globalId;
@property (nonatomic, strong) NSString * username;
@property (nonatomic, strong) NSNumber * privilege; // int
@property (nonatomic, strong) NSNumber * allowPreview; // BOOL
@property (nonatomic, strong) EDAMSharedNotebookRecipientSettings * recipientSettings;
@property (nonatomic, strong) NSNumber * sharerUserId; // EDAMUserID
@property (nonatomic, strong) NSString * recipientUsername;
@property (nonatomic, strong) NSNumber * recipientUserId; // EDAMUserID
@property (nonatomic, strong) NSNumber * serviceAssigned; // EDAMTimestamp
@end

@interface EDAMNotebookRestrictions : FATObject 
@property (nonatomic, strong) NSNumber * noReadNotes; // BOOL
@property (nonatomic, strong) NSNumber * noCreateNotes; // BOOL
@property (nonatomic, strong) NSNumber * noUpdateNotes; // BOOL
@property (nonatomic, strong) NSNumber * noExpungeNotes; // BOOL
@property (nonatomic, strong) NSNumber * noShareNotes; // BOOL
@property (nonatomic, strong) NSNumber * noEmailNotes; // BOOL
@property (nonatomic, strong) NSNumber * noSendMessageToRecipients; // BOOL
@property (nonatomic, strong) NSNumber * noUpdateNotebook; // BOOL
@property (nonatomic, strong) NSNumber * noExpungeNotebook; // BOOL
@property (nonatomic, strong) NSNumber * noSetDefaultNotebook; // BOOL
@property (nonatomic, strong) NSNumber * noSetNotebookStack; // BOOL
@property (nonatomic, strong) NSNumber * noPublishToPublic; // BOOL
@property (nonatomic, strong) NSNumber * noPublishToBusinessLibrary; // BOOL
@property (nonatomic, strong) NSNumber * noCreateTags; // BOOL
@property (nonatomic, strong) NSNumber * noUpdateTags; // BOOL
@property (nonatomic, strong) NSNumber * noExpungeTags; // BOOL
@property (nonatomic, strong) NSNumber * noSetParentTag; // BOOL
@property (nonatomic, strong) NSNumber * noCreateSharedNotebooks; // BOOL
@property (nonatomic, strong) NSNumber * updateWhichSharedNotebookRestrictions; // int
@property (nonatomic, strong) NSNumber * expungeWhichSharedNotebookRestrictions; // int
@property (nonatomic, strong) NSNumber * noShareNotesWithBusiness; // BOOL
@end

@interface EDAMNotebook : FATObject 
@property (nonatomic, strong) EDAMGuid guid;
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) NSNumber * updateSequenceNum; // int32_t
@property (nonatomic, strong) NSNumber * defaultNotebook; // BOOL
@property (nonatomic, strong) NSNumber * serviceCreated; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * serviceUpdated; // EDAMTimestamp
@property (nonatomic, strong) EDAMPublishing * publishing;
@property (nonatomic, strong) NSNumber * published; // BOOL
@property (nonatomic, strong) NSString * stack;
@property (nonatomic, strong) NSArray * sharedNotebookIds;
@property (nonatomic, strong) NSArray * sharedNotebooks;
@property (nonatomic, strong) EDAMBusinessNotebook * businessNotebook;
@property (nonatomic, strong) EDAMUser * contact;
@property (nonatomic, strong) EDAMNotebookRestrictions * restrictions;
@property (nonatomic, strong) EDAMNotebookRecipientSettings * recipientSettings;
@end

@interface EDAMLinkedNotebook : FATObject 
@property (nonatomic, strong) NSString * shareName;
@property (nonatomic, strong) NSString * username;
@property (nonatomic, strong) NSString * shardId;
@property (nonatomic, strong) NSString * sharedNotebookGlobalId;
@property (nonatomic, strong) NSString * uri;
@property (nonatomic, strong) EDAMGuid guid;
@property (nonatomic, strong) NSNumber * updateSequenceNum; // int32_t
@property (nonatomic, strong) NSString * noteStoreUrl;
@property (nonatomic, strong) NSString * webApiUrlPrefix;
@property (nonatomic, strong) NSString * stack;
@property (nonatomic, strong) NSNumber * businessId; // int32_t
@end

@interface EDAMNotebookDescriptor : FATObject 
@property (nonatomic, strong) EDAMGuid guid;
@property (nonatomic, strong) NSString * notebookDisplayName;
@property (nonatomic, strong) NSString * contactName;
@property (nonatomic, strong) NSNumber * hasSharedNotebook; // BOOL
@property (nonatomic, strong) NSNumber * joinedUserCount; // int32_t
@end

@interface EDAMUserProfile : FATObject 
@property (nonatomic, strong) NSNumber * id; // EDAMUserID
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) NSString * email;
@property (nonatomic, strong) NSString * username;
@property (nonatomic, strong) EDAMBusinessUserAttributes * attributes;
@property (nonatomic, strong) NSNumber * joined; // EDAMTimestamp
@property (nonatomic, strong) NSNumber * photoLastUpdated; // EDAMTimestamp
@property (nonatomic, strong) NSString * photoUrl;
@end

@interface EDAMRelatedContentImage : FATObject 
@property (nonatomic, strong) NSString * url;
@property (nonatomic, strong) NSNumber * width; // int32_t
@property (nonatomic, strong) NSNumber * height; // int32_t
@property (nonatomic, strong) NSNumber * pixelRatio; // double
@property (nonatomic, strong) NSNumber * fileSize; // int32_t
@end

@interface EDAMRelatedContent : FATObject 
@property (nonatomic, strong) NSString * contentId;
@property (nonatomic, strong) NSString * title;
@property (nonatomic, strong) NSString * url;
@property (nonatomic, strong) NSString * sourceId;
@property (nonatomic, strong) NSString * sourceUrl;
@property (nonatomic, strong) NSString * sourceFaviconUrl;
@property (nonatomic, strong) NSString * sourceName;
@property (nonatomic, strong) NSNumber * date; // EDAMTimestamp
@property (nonatomic, strong) NSString * teaser;
@property (nonatomic, strong) NSArray * thumbnails;
@property (nonatomic, strong) NSNumber * contentType; // int
@property (nonatomic, strong) NSNumber * accessType; // int
@property (nonatomic, strong) NSString * visibleUrl;
@property (nonatomic, strong) NSString * clipUrl;
@property (nonatomic, strong) EDAMContact * contact;
@property (nonatomic, strong) NSArray * authors;
@end

@interface EDAMBusinessInvitation : FATObject 
@property (nonatomic, strong) NSNumber * businessId; // int32_t
@property (nonatomic, strong) NSString * email;
@property (nonatomic, strong) NSNumber * role; // int
@property (nonatomic, strong) NSNumber * status; // int
@property (nonatomic, strong) NSNumber * requesterId; // EDAMUserID
@end

@interface EDAMUserIdentity : FATObject 
@property (nonatomic, strong) NSNumber * type; // int
@property (nonatomic, strong) NSString * stringIdentifier;
@property (nonatomic, strong) NSNumber * longIdentifier; // int64_t
@end

@interface EDAMTypesConstants : NSObject 
+ (NSString *) CLASSIFICATION_RECIPE_USER_NON_RECIPE;
+ (NSString *) CLASSIFICATION_RECIPE_USER_RECIPE;
+ (NSString *) CLASSIFICATION_RECIPE_SERVICE_RECIPE;
+ (NSString *) EDAM_NOTE_SOURCE_WEB_CLIP;
+ (NSString *) EDAM_NOTE_SOURCE_WEB_CLIP_SIMPLIFIED;
+ (NSString *) EDAM_NOTE_SOURCE_MAIL_CLIP;
+ (NSString *) EDAM_NOTE_SOURCE_MAIL_SMTP_GATEWAY;
@end
